From: cl349@freefall.cl.cam.ac.uk Date: Wed, 6 Oct 2004 13:03:13 +0000 (+0000) Subject: bitkeeper revision 1.1159.1.209 (4163ed11XmoH7YafgdjHd_l9zZsOOg) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~17400^2~542 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=3af7a69d2a3a666c0073317675b9029bd279537d;p=xen.git bitkeeper revision 1.1159.1.209 (4163ed11XmoH7YafgdjHd_l9zZsOOg) Update pteidx of disconnected va space even in shadow mode. --- diff --git a/xen/arch/x86/memory.c b/xen/arch/x86/memory.c index 654ec044c7..956e61aa9e 100644 --- a/xen/arch/x86/memory.c +++ b/xen/arch/x86/memory.c @@ -1776,12 +1776,15 @@ int ptwr_do_page_fault(unsigned long addr) ptwr_flush(which); ptwr_info[cpu].ptinfo[which].l1va = addr | 1; - if (which == PTWR_PT_ACTIVE && likely(!current->mm.shadow_mode)) { + if (which == PTWR_PT_ACTIVE) { ptwr_info[cpu].active_pteidx = va_mask; - /* disconnect l1 page (unnecessary in shadow mode) */ - nl2e = mk_l2_pgentry((l2_pgentry_val(*pl2e) & ~_PAGE_PRESENT)); - update_l2e(pl2e, *pl2e, nl2e); - flush_tlb(); + if ( likely(!current->mm.shadow_mode) ) { + /* disconnect l1 page (unnecessary in shadow mode) */ + nl2e = mk_l2_pgentry((l2_pgentry_val(*pl2e) & + ~_PAGE_PRESENT)); + update_l2e(pl2e, *pl2e, nl2e); + flush_tlb(); + } } ptwr_info[cpu].ptinfo[which].pl1e =